It has become relatively commonplace to exchange documents created on different computer systems and to paste text from such documents into a new word processing document that is being created. In this discussion, the term "imported" is used in connection with a document or file created on a word processing system or operating system that is different than a "native" operating system or word processing system. The conventional approach for importing text produced on a different computer system or by a different word processing program is to first translate the entire text file into the native word processing system format and then to store the converted text in another file. After the translation and conversion operation is completed, the newly created file is opened so that the text can be displayed for review and editing by the user and for pasting into another document. However, if the size of the text being translated into the native format is relatively large, e.g., greater than 100 Kbytes, several minutes may be required to complete the translation process. During the time that the translation process and storage of the translated text occurs, the user is forced to idly wait, since the word processing system is unable to handle any other task.
One type of translation that is often required when text is pasted into a document from another system is the translation between paragraph delimiters. Three types of paragraph delimiters are commonly used on computers. One of the more common paragraph delimiters is used in MS-DOS and in MICROSOFT.TM. Word for Windows prior to Version 6; it is a two-byte sequence of characters, in which the first byte corresponds to a carriage return (CR) and the second byte to a line feed (LF), i.e., the two-byte sequence "13 10." Word processing systems running under various versions of the UNIX.TM. operating system use a single byte "10" as a paragraph delimiter, while the APPLE.TM. operating system and MICROSOFT.TM. Word for Windows Version 6 use a single byte "13" for this purpose. The delay that is typically incurred in translating paragraph delimiters of documents imported from a foreign word processing system into a native paragraph delimiter format arises because every character of the imported text must be scanned in sequence into memory. Any foreign format paragraph delimiters encountered are converted into the native paragraph delimiter before the text is written into another file.
If foreign paragraph delimiters are not converted before the text is displayed to the user, unexpected results can occur. For example, if an MS-DOS or WINDOWS.TM. computer reads and displays a text file created using the paragraph delimiter without translating the paragraph delimiters, the imported text file will appear as one long paragraph, even though it may have originally included many paragraphs. If a MACINTOSH.TM. computer program read and displays a text file created using the paragraph delimiter employed by MS-DOS or WINDOWS, without translating the paragraph delimiters, the screen will display an unrecognizable character for each of the LF characters of the two-byte sequence used as a delimiter. Similarly, a UNIX.TM. word processing program importing the same text will display an unrecognizable character for each of the CR characters of the two-byte sequence used as a delimiter.
Properly identifying the end of each paragraph is important in most word processing systems because much of the formatting is related to text grouped by paragraphs. The default font for characters of text, the margins applied to the text, and the type of justification (right, left, or centered) are dependent upon accurately denoting the end of paragraph for each block of text in a document. In connection with this requirement, any word processing program that uses (or translates) the two-byte sequence CRLF must avoid splitting the sequence by putting an insertion point for text between the CR and the LF bytes of the paragraph delimiter sequence. Once the two-byte sequence is broken by insertion of even a single character of text, the paragraph end denoted by the sequence can no longer be recognized.
Preferably, a word processing program should be able to handle foreign paragraph delimiters without first requiring that the imported text in which such delimiters are used first be translated and stored as a converted file. To avoid inserting text into the two-byte sequence CRLF, the word processor should be able to keep track of the length of the delimiter and insure that the insertion point is always on one side or the other of the delimiter sequence. Further, if the user only wants to view a document or to edit it without saving the text, the word processing system should not need to translate the foreign delimiters to the native delimiter format. Only when a document that includes text using the foreign paragraph delimiters is saved to a file should it be necessary to translate between paragraph delimiter types. None of the prior art word processing systems have these capabilities or operate in this manner. By making these features available on a word processing system, it should be possible for users who frequently import text prepared on foreign word processing systems to save considerable time.